home *** CD-ROM | disk | FTP | other *** search
Wrap
GW-BASIC | 1986-11-30 | 13.2 KB | 488 lines
100 REM UPDATPER Program. 110 REM Data Entry to the Persons File 120 REM By: Melvin O. Duke. Last Updated 19 February 1986. 200 REM Screen Definitions 210 WIDTH "scrn:", 80 220 SCREEN S1,S2,S3,S4 600 REM Titles 610 TITLE$ = "Update the Persons File" 620 TITLE$ = TITLE$ + " ON DISPLAY" 700 REM Terminate if not called from the Menu 710 IF DD.MENU$ <> "" THEN 770 720 COLOR 7,0 : KEY ON : CLS : LOCATE 15,1 730 PRINT "Cannot run the" 740 PRINT TITLE$ 750 PRINT "Program, unless selected from the MENU" 760 END 770 REM OK 1000 REM Produce the first screen 1010 KEY ON : CLS : KEY OFF 1020 REM Draw the outer double box 1030 R1 = 1 : C1 = 1 : R2 = 24 : C2 = 79 : GOSUB 1300 1040 REM Find the title location 1050 TITLE.POS = 40 - INT(LEN(TITLE$)/2) 1060 REM Draw the title box 1070 R1=3:C1=TITLE.POS-2:R2=6:C2=TITLE.POS+LEN(TITLE$)+1:GOSUB 1500 1080 REM Print the title 1090 LOCATE 4,TITLE.POS : PRINT TITLE$ 1100 LOCATE 5,40-INT(LEN(VERSION$)/2) : PRINT VERSION$; 1230 REM Draw the Copyright box 1240 R1 = 19 : C1 = 21 : R2 = 22 : C2 = 59 : GOSUB 1300 1250 REM Print the Copyright 1260 LOCATE 20,40-INT(LEN(COPY1$)/2) : PRINT COPY1$; 1270 LOCATE 21,40-INT(LEN(COPY2$)/2) : PRINT COPY2$; 1280 GOTO 1700 1300 REM subroutine to print a double box 1310 COLOR P 1320 FOR I = R1 + 1 TO R2 - 1 1330 LOCATE I, C1 : PRINT CHR$(186); 1340 LOCATE I, C2 : PRINT CHR$(186); 1350 NEXT I 1360 FOR J = C1 + 1 TO C2 - 1 1370 LOCATE R1, J : PRINT CHR$(205); 1380 LOCATE R2, J : PRINT CHR$(205); 1390 NEXT J 1400 LOCATE R1, C1 : PRINT CHR$(201); 1410 LOCATE R1, C2 : PRINT CHR$(187); 1420 LOCATE R2, C1 : PRINT CHR$(200); 1430 LOCATE R2, C2 : PRINT CHR$(188); 1440 COLOR W 1450 RETURN 1500 REM subroutine to print a single box 1510 COLOR B 1520 FOR I = R1 + 1 TO R2 - 1 1530 LOCATE I, C1 : PRINT CHR$(179); 1540 LOCATE I, C2 : PRINT CHR$(179); 1550 NEXT I 1560 FOR J = C1 + 1 TO C2 - 1 1570 LOCATE R1, J : PRINT CHR$(196); 1580 LOCATE R2, J : PRINT CHR$(196); 1590 NEXT J 1600 LOCATE R1, C1 : PRINT CHR$(218); 1610 LOCATE R1, C2 : PRINT CHR$(191); 1620 LOCATE R2, C1 : PRINT CHR$(192); 1630 LOCATE R2, C2 : PRINT CHR$(217); 1640 COLOR W 1650 RETURN 1700 REM ask user to press a key to continue 1710 LOCATE 25,1 1720 PRINT "Have Data Diskette(s) in Place, then Press any key to continue."; 1730 K$ = INKEY$ : IF K$ = "" THEN 1730 1740 KEY ON : CLS : KEY OFF 2000 REM UPDATPER Program Starts Here. 2010 OPEN DD.PERS$+"persfile" AS #1 LEN = 256 2020 FIELD 1, 5 AS F1$, 20 AS F2$, 30 AS F3$, 2 AS F4$, 5 AS F5$, 5 AS F6$, 5 AS F7$, 11 AS F8$, 18 AS F9$, 16 AS F10$, 16 AS F11$, 11 AS F12$, 18 AS F13$, 16 AS F14$, 16 AS F15$, 11 AS F16$, 18 AS F17$, 16 AS F18$, 16 AS F19$ 2030 REM ask the user for input 2040 LOCATE 23,1 : PRINT SPACE$(79); 2050 LOCATE 23,1 : PRINT "(0 to quit, ? to locate unused record)"; 2060 LOCATE 22,1 : PRINT SPACE$(79) : LOCATE 22,1 2070 INPUT "Enter Record Number of Person to Update"; REPLY$ 2080 IF REPLY$ <> "?" THEN 2240 2090 REM Locate an unused record 2100 FOUND = 0 : IF REC.NO = 0 THEN REC.NO = 1 2110 FOR LOOK = REC.NO TO MAX.PER 2120 GET #1, LOOK 2130 LOCATE 15,1 : PRINT "Searching Record";LOOK; 2140 T1 = CVS(F1$) 2150 IF T1 > 0 THEN 2170 2160 FOUND = 1 : REC.NO = LOOK : LOOK = MAX.PER 2170 NEXT LOOK 2180 IF FOUND = 1 THEN 2330 2190 PRINT "Unable to find an unused record above record";REC.NO 2200 PRINT "Either start from record 1 or extend the file" 2210 PRINT "Press any key to continue" 2220 A$ = INKEY$ : IF A$ = "" THEN 2220 2230 GOTO 2030 2240 IF REPLY$ = "0" THEN 5920 2250 REC.NO = VAL(REPLY$) 2260 IF REC.NO < 1 OR REC.NO > MAX.PER THEN 2270 ELSE 2320 2270 PRINT : PRINT "Number is out of range" 2280 PRINT "Press any key to continue" 2290 A$ = INKEY$ : IF A$ = "" THEN 2290 2300 KEY ON : CLS : KEY OFF 2310 GOTO 2030 2320 GET #1, REC.NO 2330 REM Extract information from the file for use 2340 T1 = CVS(F1$) 2350 REM Disallow Update if Rec.no is Zero (never Created) 2360 IF T1 <> 0 THEN 2420 2370 LOCATE 22,1 : PRINT SPACE$(79);: LOCATE 23,1 : PRINT SPACE$(79);: LOCATE 22,1 2380 PRINT "Record Number is Zero. Must run the CREATPER Program First." 2390 LOCATE 25,1 : PRINT "Press any key to continue"; 2400 A$ = INKEY$ : IF A$ = "" THEN 2400 2410 GOTO 5920 'Close the Files and return to the Menu 2420 T2$ = F2$ 'Surname 2430 T3$ = F3$ 'Given Names 2440 FOR J = 1 TO LEN(F3$)-1 2450 IF RIGHT$(T3$,1)=" "THEN T3$ = LEFT$(T3$,LEN(T3$)-1) ELSE J = LEN(F3$)-1 2460 NEXT J 2470 T4$ = F4$ 'Sex 2480 IF LEFT$(T4$,1) = "M" THEN T4$ = "Male" 2490 IF LEFT$(T4$,1) = "F" THEN T4$ = "Female" 2500 T5 = CVS(F5$) 'Code 2510 T6 = CVS(F6$) 'Father's No. 2520 T7 = CVS(F7$) 'Mother's No. 2530 T8$ = F8$ 'Birthdate 2540 T9$ = F9$ 2550 T10$ = F10$ 2560 T11$ = F11$ 2570 T12$ = F12$ 'Death Date 2580 T13$ = F13$ 2590 T14$ = F14$ 2600 T15$ = F15$ 2610 T16$ = F16$ 'Burial Date 2620 T17$ = F17$ 2630 T18$ = F18$ 2640 T19$ = F19$ 2650 KEY ON : CLS : KEY OFF 2660 R1 = 1 : C1 = 1 : R2 = 21 : C2 = 79 : GOSUB 1300 'Double box 2670 R1 = 3 : C1 = 1 : R2 = 3 : C2 = 79 : GOSUB 3730 'Horizontal double 2680 LOCATE 2,3 : PRINT "Personal Information of:" 2690 R1 = 3 : C1 = 43 : R2 = 21 : C2 = 43 : GOSUB 3910 'Vertical Double 2700 LOCATE 4,3 : COLOR N : PRINT "Person:"; : COLOR O 2710 LOCATE 5,3 : PRINT "Record-number:"; 2720 LOCATE 7,3 : PRINT "Surname:"; 2730 LOCATE 9,3 : PRINT "Given-names:"; 2740 LOCATE 11,3 : PRINT "Sex:"; 2750 LOCATE 12,3 : PRINT "Code:"; 2760 R1 = 13 : C1 = 1 : R2 =13 : C2 = 43 : GOSUB 3730 'Horizontal Double 2770 LOCATE 14,3 : COLOR N : PRINT "Person's Father:"; : COLOR O 2780 LOCATE 15,3 : PRINT "Record-number:"; 2790 LOCATE 16,3 : PRINT "Name:"; 2800 R1 = 17 : C1 = 1 : R2 = 17 : C2 = 43 : GOSUB 3820 'Horizontal Single 2810 LOCATE 18,3 : COLOR N : PRINT "Person's Mother:"; : COLOR O 2820 LOCATE 19,3 : PRINT "Record-number:"; 2830 LOCATE 20,3 : PRINT "Name:"; 2840 LOCATE 4,45 : COLOR N : PRINT "Person's Vital Statistics:"; : COLOR O 2850 LOCATE 6,45 : PRINT "Birth-date:"; 2860 LOCATE 7,45 : PRINT "Birth-city:"; 2870 LOCATE 8,45 : PRINT "Birth-county:"; 2880 LOCATE 9,45 : PRINT "State/Country:"; 2890 LOCATE 11,45 : PRINT "Death-date:"; 2900 LOCATE 12,45 : PRINT "Death-city:"; 2910 LOCATE 13,45 : PRINT "Death-county:"; 2920 LOCATE 14,45 : PRINT "State/Country:"; 2930 LOCATE 16,45 : PRINT "Burial-date:"; 2940 LOCATE 17,45 : PRINT "Burial-city:"; 2950 LOCATE 18,45 : PRINT "Burial-county:"; 2960 LOCATE 19,45 : PRINT "State/Country:"; 2970 GOSUB 2990 'To print the current information 2980 GOTO 4000 'For User Input 2990 REM Print the Information Currently Present 3000 LOCATE 2,28 : PRINT SPACE$(50); 3010 LOCATE 2,28 : COLOR W : PRINT LEFT$(T3$ + " " + T2$,50); 3020 LOCATE 6,8 : PRINT SPACE$(5); 3030 LOCATE 6,8 : COLOR G : PRINT T1; 3040 LOCATE 8,9 : PRINT SPACE$(20); 3050 LOCATE 8,9 : PRINT LEFT$(T2$,20); 3060 LOCATE 10,9 : PRINT SPACE$(30); 3070 LOCATE 10,9 : PRINT LEFT$(T3$,30); 3080 LOCATE 11,9 : PRINT SPACE$(7); 3090 LOCATE 11,9 : PRINT LEFT$(T4$,7); 3100 LOCATE 12,8 : PRINT SPACE$(5); 3110 LOCATE 12,8 : PRINT T5; 3120 LOCATE 15,18 : PRINT SPACE$(5); 3130 LOCATE 15,18 : PRINT T6; 3140 REM Obtain the Father's Record 3150 IF T6 = 0 THEN SN$ = " " : GN$ = " " : GOTO 3250 3160 GET #1, T6 3170 SN$ = F2$ : GN$ = F3$ 3180 REM right-trim the names 3190 FOR J = 1 TO LEN(F2$)-1 3200 IF RIGHT$(SN$,1)=" "THEN SN$=LEFT$(SN$,LEN(SN$)-1) ELSE J=LEN(F2$)-1 3210 NEXT J 3220 FOR J = 1 TO LEN(F3$)-1 3230 IF RIGHT$(GN$,1)=" "THEN GN$=LEFT$(GN$,LEN(GN$)-1) ELSE J=LEN(F3$)-1 3240 NEXT J 3250 NM$ = SN$ + ", " + GN$ 3260 IF SN$ = " " OR GN$ = " " THEN NM$ = SN$ + " " + GN$ 3270 IF SN$ = " " AND GN$ = " " THEN NM$ = " " 3280 LOCATE 16, 9 : PRINT SPACE$(33); 3290 LOCATE 16, 9 : PRINT LEFT$(NM$,33); 3300 LOCATE 19,18 : PRINT SPACE$(5); 3310 LOCATE 19,18 : PRINT T7; 3320 REM Obtain the Mother's Record 3330 IF T7 = 0 THEN SN$ = " " : GN$ = " " : GOTO 3430 3340 GET #1, T7 3350 SN$ = F2$ : GN$ = F3$ 3360 REM right-trim the names 3370 FOR J = 1 TO LEN(F2$)-1 3380 IF RIGHT$(SN$,1)=" "THEN SN$=LEFT$(SN$,LEN(SN$)-1) ELSE J=LEN(F2$)-1 3390 NEXT J 3400 FOR J = 1 TO LEN(F3$)-1 3410 IF RIGHT$(GN$,1)=" "THEN GN$=LEFT$(GN$,LEN(GN$)-1) ELSE J=LEN(F3$)-1 3420 NEXT J 3430 NM$ = SN$ + ", " + GN$ 3440 IF SN$ = " " OR GN$ = " " THEN NM$ = SN$ + " " + GN$ 3450 IF SN$ = " " AND GN$ = " " THEN NM$ = " " 3460 LOCATE 20, 9 : PRINT SPACE$(33); 3470 LOCATE 20, 9 : PRINT LEFT$(NM$,33); 3480 LOCATE 6,60 : PRINT SPACE$(11); 3490 LOCATE 6,60 : PRINT LEFT$(T8$,11); 3500 LOCATE 7,60 : PRINT SPACE$(18); 3510 LOCATE 7,60 : PRINT LEFT$(T9$,18); 3520 LOCATE 8,60 : PRINT SPACE$(16); 3530 LOCATE 8,60 : PRINT LEFT$(T10$,16); 3540 LOCATE 9,60 : PRINT SPACE$(16); 3550 LOCATE 9,60 : PRINT LEFT$(T11$,16); 3560 LOCATE 11,60 : PRINT SPACE$(11); 3570 LOCATE 11,60 : PRINT LEFT$(T12$,11); 3580 LOCATE 12,60 : PRINT SPACE$(18); 3590 LOCATE 12,60 : PRINT LEFT$(T13$,18); 3600 LOCATE 13,60 : PRINT SPACE$(16); 3610 LOCATE 13,60 : PRINT LEFT$(T14$,16); 3620 LOCATE 14,60 : PRINT SPACE$(16); 3630 LOCATE 14,60 : PRINT LEFT$(T15$,16); 3640 LOCATE 16,60 : PRINT SPACE$(11); 3650 LOCATE 16,60 : PRINT LEFT$(T16$,11); 3660 LOCATE 17,60 : PRINT SPACE$(18); 3670 LOCATE 17,60 : PRINT LEFT$(T17$,18); 3680 LOCATE 18,60 : PRINT SPACE$(16); 3690 LOCATE 18,60 : PRINT LEFT$(T18$,16); 3700 LOCATE 19,60 : PRINT SPACE$(16); 3710 LOCATE 19,60 : PRINT LEFT$(T19$,16); : COLOR W 3720 RETURN 3730 REM Subroutine to draw a double horizontal line. Attach to double. 3740 COLOR P 3750 FOR J = C1 + 1 TO C2 - 1 3760 LOCATE R1,J : PRINT CHR$(205); 3770 NEXT J 3780 LOCATE R1,C1 : PRINT CHR$(204); 3790 LOCATE R1,C2 : PRINT CHR$(185); 3800 COLOR W 3810 RETURN 3820 REM Subroutine to draw a single horizontal line. Attach to double. 3830 COLOR P 3840 FOR J = C1 + 1 TO C2 - 1 3850 LOCATE R1,J : PRINT CHR$(196); 3860 NEXT J 3870 LOCATE R1,C1 : PRINT CHR$(199); 3880 LOCATE R1,C2 : PRINT CHR$(182); 3890 COLOR W 3900 RETURN 3910 REM Subroutine to draw a double vertical line. Attach to double. 3920 COLOR P 3930 FOR I = R1 + 1 TO R2 - 1 3940 LOCATE I,C1 : PRINT CHR$(186); 3950 NEXT I 3960 LOCATE R1,C1 : PRINT CHR$(203); 3970 LOCATE R2,C1 : PRINT CHR$(202); 3980 COLOR W 3990 RETURN 4000 REM Routines to Obtain information from the User 4010 LOCATE 22,1 : PRINT SPACE$(79); 4020 LOCATE 23,1 : PRINT SPACE$(79); 4030 LOCATE 24,1 : PRINT SPACE$(79); 4040 LOCATE 25,1 : PRINT SPACE$(79); 4050 LOCATE 24,1 : PRINT "('enter' to leave alone, '/ enter' to end record, or reply as shown.)"; 4060 LOCATE 23,1 4070 INPUT "Enter the Record Number";REPLY$ 4080 IF REPLY$ = "/" THEN 5560 4090 IF REPLY$ = "" THEN 4200 4100 IF ABS(VAL(REPLY$)) = ABS(T1) THEN 4170 ELSE 4110 4110 REM Prevent Change of Rec.no 4120 LOCATE 22,1 : PRINT SPACE$(79); : LOCATE 24,1 : PRINT SPACE$(79); : LOCATE 22,1 4130 PRINT "Cannot Change the Record Number to another number."; 4140 LOCATE 25,1 : PRINT "Press any key to continue"; 4150 A$ = INKEY$ : IF A$ = "" THEN 4150 4160 GOTO 4000 4170 T1 = VAL(REPLY$) 4180 IF T1 < 1 THEN GOSUB 5960 : GOSUB 2990 : GOTO 5560 'Negative 4190 GOSUB 2990 4200 LOCATE 23,1 : PRINT SPACE$(79); 4210 REM Terminate record update if rec.no is negative 4220 IF T1 < 0 THEN 5560 4230 LOCATE 23,1 4240 INPUT "Enter the Person's Surname (all capital letters)";REPLY$ 4250 IF REPLY$ = "/" THEN 5560 4260 IF REPLY$ = "" THEN 4290 4270 T2$ = REPLY$ 4280 GOSUB 2990 4290 LOCATE 23,1 : PRINT SPACE$(79); 4300 LOCATE 23,1 4310 INPUT "Enter the Person's Given Names";REPLY$ 4320 IF REPLY$ = "/" THEN 5560 4330 IF REPLY$ = "" THEN 4360 4340 T3$ = REPLY$ 4350 GOSUB 2990 4360 LOCATE 23,1 : PRINT SPACE$(79); 4370 LOCATE 23,1 4380 INPUT "Enter the Person's Sex";REPLY$ 4390 IF REPLY$ = "/" THEN 5560 4400 IF REPLY$ = "" THEN 4450 4410 T4$ = REPLY$ 4420 IF LEFT$(REPLY$,1) = "m" OR LEFT$(REPLY$,1) = "M" THEN T4$ = "Male" 4430 IF LEFT$(REPLY$,1) = "f" OR LEFT$(REPLY$,1) = "F" THEN T4$ = "Female" 4440 GOSUB 2990 4450 LOCATE 23,1 : PRINT SPACE$(79); 4460 LOCATE 23,1 4470 INPUT "Enter the Person's Code";REPLY$ 4480 IF REPLY$ = "/" THEN 5560 4490 IF REPLY$ = "" THEN 4520 4500 T5 = VAL(REPLY$) 4510 GOSUB 2990 4520 LOCATE 23,1 : PRINT SPACE$(79); 4530 LOCATE 23,1 4540 INPUT "Enter the Father's Record Number";REPLY$ 4550 IF REPLY$ = "/" THEN 5560 4560 IF REPLY$ = "" THEN 4620 4570 T6 = VAL(REPLY$) 4580 IF T6 >= 0 AND T6 <= MAX.PER THEN 4600 4590 LOCATE 22,1 : PRINT "Number out of Range"; : GOTO 4520 4600 LOCATE 22,1 : PRINT SPACE$(79); 4610 GOSUB 2990 4620 LOCATE 23,1 : PRINT SPACE$(79); 4630 LOCATE 23,1 4640 INPUT "Enter the Mother's Record Number";REPLY$ 4650 IF REPLY$ = "/" THEN 5560 4660 IF REPLY$ = "" THEN 4720 4670 T7 = VAL(REPLY$) 4680 IF T7 >= 0 AND T7 <= MAX.PER THEN 4700 4690 LOCATE 22,1 : PRINT "Number out of Range"; : GOTO 4620 4700 LOCATE 22,1 : PRINT SPACE$(79); 4710 GOSUB 2990 4720 LOCATE 23,1 : PRINT SPACE$(79); 4730 LOCATE 23,1 4740 INPUT "Enter the Person's Birth-date as: dd Mmm yyyy";REPLY$ 4750 IF REPLY$ = "/" THEN 5560 4760 IF REPLY$ = "" THEN 4790 4770 RSET T8$ = REPLY$ 4780 GOSUB 2990 4790 LOCATE 23,1 : PRINT SPACE$(79); 4800 LOCATE 23,1 4810 INPUT "Enter the Person's Birth-city";REPLY$ 4820 IF REPLY$ = "/" THEN 5560 4830 IF REPLY$ = "" THEN 4860 4840 T9$ = REPLY$ 4850 GOSUB 2990 4860 LOCATE 23,1 : PRINT SPACE$(79); 4870 LOCATE 23,1 4880 INPUT "Enter the Person's Birth-county";REPLY$ 4890 IF REPLY$ = "/" THEN 5560 4900 IF REPLY$ = "" THEN 4930 4910 T10$ = REPLY$ 4920 GOSUB 2990 4930 LOCATE 23,1 : PRINT SPACE$(79); 4940 LOCATE 23,1 4950 INPUT "Enter the Person's Birth-state or Country";REPLY$ 4960 IF REPLY$ = "/" THEN 5560 4970 IF REPLY$ = "" THEN 5000 4980 T11$ = REPLY$ 4990 GOSUB 2990 5000 LOCATE 23,1 : PRINT SPACE$(79); 5010 LOCATE 23,1 5020 INPUT "Enter the Person's Death-date as: dd Mmm yyyy";REPLY$ 5030 IF REPLY$ = "/" THEN 5560 5040 IF REPLY$ = "" THEN 5070 5050 RSET T12$ = REPLY$ 5060 GOSUB 2990 5070 LOCATE 23,1 : PRINT SPACE$(79); 5080 LOCATE 23,1 5090 INPUT "Enter the Person's Death-city";REPLY$ 5100 IF REPLY$ = "/" THEN 5560 5110 IF REPLY$ = "" THEN 5140 5120 T13$ = REPLY$ 5130 GOSUB 2990 5140 LOCATE 23,1 : PRINT SPACE$(79); 5150 LOCATE 23,1 5160 INPUT "Enter the Person's Death-county";REPLY$ 5170 IF REPLY$ = "/" THEN 5560 5180 IF REPLY$ = "" THEN 5210 5190 T14$ = REPLY$ 5200 GOSUB 2990 5210 LOCATE 23,1 : PRINT SPACE$(79); 5220 LOCATE 23,1 5230 INPUT "Enter the Person's Death-state or Country";REPLY$ 5240 IF REPLY$ = "/" THEN 5560 5250 IF REPLY$ = "" THEN 5280 5260 T15$ = REPLY$ 5270 GOSUB 2990 5280 LOCATE 23,1 : PRINT SPACE$(79); 5290 LOCATE 23,1 5300 INPUT "Enter the Person's Burial-date as: dd Mmm yyyy";REPLY$ 5310 IF REPLY$ = "/" THEN 5560 5320 IF REPLY$ = "" THEN 5350 5330 RSET T16$ = REPLY$ 5340 GOSUB 2990 5350 LOCATE 23,1 : PRINT SPACE$(79); 5360 LOCATE 23,1 5370 INPUT "Enter the Person's Burial-city";REPLY$ 5380 IF REPLY$ = "/" THEN 5560 5390 IF REPLY$ = "" THEN 5420 5400 T17$ = REPLY$ 5410 GOSUB 2990 5420 LOCATE 23,1 : PRINT SPACE$(79); 5430 LOCATE 23,1 5440 INPUT "Enter the Person's Burial-county";REPLY$ 5450 IF REPLY$ = "/" THEN 5560 5460 IF REPLY$ = "" THEN 5490 5470 T18$ = REPLY$ 5480 GOSUB 2990 5490 LOCATE 23,1 : PRINT SPACE$(79); 5500 LOCATE 23,1 5510 INPUT "Enter the Person's Burial-state or Country";REPLY$ 5520 IF REPLY$ = "/" THEN 5560 5530 IF REPLY$ = "" THEN 5560 5540 T19$ = REPLY$ 5550 GOSUB 2990 5560 REM Input is complete, now see if user wants to save the data 5570 LOCATE 24,1 : PRINT SPACE$(79); 5580 LOCATE 23,1 : PRINT SPACE$(79); 5590 LOCATE 23,1 5600 INPUT "Type s (save), m (more), or f (forget)";REPLY$ 5610 IF LEFT$(REPLY$,1) = "m" THEN LOCATE 23,1 : PRINT SPACE$(79); : GOTO 4000 5620 IF LEFT$(REPLY$,1) = "M" THEN LOCATE 23,1 : PRINT SPACE$(79); : GOTO 4000 5630 IF LEFT$(REPLY$,1) = "f" THEN KEY ON : CLS : KEY OFF : GOTO 2030 5640 IF LEFT$(REPLY$,1) = "F" THEN KEY ON : CLS : KEY OFF : GOTO 2030 5650 IF LEFT$(REPLY$,1) = "s" THEN LOCATE 22,1 : PRINT SPACE$(79); : GOTO 5690 5660 IF LEFT$(REPLY$,1) = "S" THEN LOCATE 22,1 : PRINT SPACE$(79); : GOTO 5690 5670 LOCATE 22,1 : PRINT "Error in reply"; 5680 GOTO 5580 5690 REM Routine to SAVE the newly updated record 5700 LSET F1$ = MKS$(T1) 5710 LSET F2$ = T2$ 5720 LSET F3$ = T3$ 5730 LSET F4$ = LEFT$(T4$,1) 5740 LSET F5$ = MKS$(T5) 5750 LSET F6$ = MKS$(T6) 5760 LSET F7$ = MKS$(T7) 5770 RSET F8$ = T8$ 5780 LSET F9$ = T9$ 5790 LSET F10$ = T10$ 5800 LSET F11$ = T11$ 5810 RSET F12$ = T12$ 5820 LSET F13$ = T13$ 5830 LSET F14$ = T14$ 5840 LSET F15$ = T15$ 5850 RSET F16$ = T16$ 5860 LSET F17$ = T17$ 5870 LSET F18$ = T18$ 5880 LSET F19$ = T19$ 5890 PUT #1, REC.NO 5900 KEY ON : CLS : KEY OFF 5910 GOTO 2030 5920 CLOSE #1 5930 KEY ON : CLS : KEY OFF : LOCATE 21,1 5940 PRINT "End of Program" 5950 RUN DD.MENU$+"menu" 5960 REM Blank out a negative record 5970 T2$ = "" 5980 T3$ = "" 5990 T4$ = "" 6000 T5 = 0 6010 T6 = 0 6020 T7 = 0 6030 T8$ = "" 6040 T9$ = "" 6050 T10$ = "" 6060 T11$ = "" 6070 T12$ = "" 6080 T13$ = "" 6090 T14$ = "" 6100 T15$ = "" 6110 T16$ = "" 6120 T17$ = "" 6130 T18$ = "" 6140 T19$ = "" 6150 RETURN